#property
Description: Create a property.
def property(getter=None, setter=None, deleter=None, doc=None):
'''
Create a property
:param getter: Method to get the property
:param setter: Method to set the property
:param deleter: Method to delete the property
:param doc: Documentation for the property
:return: The property
'''
Example:
class Cat:
def __init__(self):
self.__name = None
# getter
@property
def name(self) -> str:
print('getter')
return self.__name
@name.setter
def name(self, name):
print('setter')
self.__name = name
@name.deleter
def name(self):
print('deleter')
del self.__name
cat = Cat()
cat.name # Calls getter
cat.name = 'Tom' # Calls setter
del cat.name # Calls deleter